This invention relates to Mobile IP network technology. More particularly, the invention relates to redundancy protocols and apparatus for protecting a Mobile IP system from failure due to the loss of a Home Agent (xe2x80x9cHAxe2x80x9d) or Foreign Agent (xe2x80x9cFAxe2x80x9d).
Mobile IP is a protocol which allows laptop computers or other mobile computer units (referred to as xe2x80x9cMobile Nodesxe2x80x9d herein) to roam between various sub-networks at various locationsxe2x80x94while maintaining internet and/or WAN connectivity. Without Mobile IP or related protocol, a Mobile Node would be unable to stay connected while roaming through various sub-networks. This is because the IP address required for any node to communicate over the internet is location specific. Each IP address has a field that specifies the particular sub-network on which the node resides. If a user desires to take a computer which is normally attached to one node and roam with it so that it passes through different sub-networks, it cannot use its home base IP address. As a. result, a business person traveling across the country cannot merely roam with his or her computer across geographically disparate network segments or wireless nodes while remaining connected over the internet. This is not an acceptable state-of-affairs in the age of portable computational devices.
To address this problem, the Mobile IP protocol has been developed and will soon be implemented. An implementation of Mobile IP is described in RFC 2002 of the Network Working Group, C. Perkins, Ed., October 1996. Mobile IP is also described in the text xe2x80x9cMobile IP Unpluggedxe2x80x9d by J. Solomon, Prentice Hall. Both of these references are incorporated herein by reference in their entireties and for all purposes.
The Mobile IP process and environment are illustrated in FIG. 1A. As shown there, a Mobile IP environment 2 includes the internet (or a WAN) 4 over which a Mobile Node 6 can communicate remotely via mediation by a Home Agent 8 and a Foreign Agent 10. Typically, the Home Agent and Foreign Agent are routers or other network connection devices performing appropriate Mobile IP functions as implemented by software, hardware, and/or firmware. A particular Mobile Node (e.g., a laptop computer) plugged into its home network segment connects with the internet through its designated Home Agent. When such Mobile Node roams, it communicates via the internet through an available Foreign Agent. Presumably, there are many Foreign Agents available at geographically disparate locations to allow wide spread internet connection via the Mobile IP protocol. Note that it is also possible for the Mobile Node to register directly with its Home Agent.
As shown in FIG. 1A, Mobile Node 6 normally resides on (or is xe2x80x9cbased atxe2x80x9d) a network segment 12 which allows its network entities to communicate over the internet 4 through Home Agent 8 (an appropriately configured router denoted R2). Note that Home Agent 8 need not directly connect to the internet. For example, as shown in FIG. 1A, it may be connected through another router (a router R1 in this case). Router R1 may, in turn, connect one or more other routers (e.g., a router R3) with the internet.
Now, suppose that Mobile Node 6 is removed from its home base network segment 12 and roams a remote network segment 14. Network segment 14 may include various other nodes such as a PC 16. The nodes on network segment 14 communicate with the internet through a router which doubles as Foreign Agent 10. Mobile Node 6 may identify Foreign Agent 10 through various solicitations and advertisements which form part of the Mobile IP protocol. When Mobile Node 6 engages with network segment 14, Foreign Agent 10 relays a registration request to Home Agent 8 (as indicated by the dotted line xe2x80x9cRegistrationxe2x80x9d). The Home and Foreign Agents may then negotiate the conditions of the Mobile Node""s attachment to Foreign Agent 10. For example, the attachment may be limited to a period of time, such as two hours. When the negotiation is successfully completed, Home Agent 8 updates an internal xe2x80x9cmobility binding tablexe2x80x9d which specifies the Foreign Agent""s IP address in association with the identity of Mobile Node 6. Further, the Foreign Agent 10 updates an internal xe2x80x9cvisitor tablexe2x80x9d which specifies the Mobile Node address, Home Agent address, etc. In effect, the Mobile Node""s home base IP address (associated with segment 12) has been shifted to the Foreign Agent""s IP address (associated with segment 14).
Now, suppose that Mobile Node 6 wishes to send a message to a corresponding node 18 from its new location. An output message from the Mobile Node is then packetized and forwarded through Foreign Agent 10 over the internet 4 and to corresponding node 18 (as indicated by the dotted line xe2x80x9cpacket from MNxe2x80x9d) according to a standard internet protocol. If corresponding node 18 wishes to send a message to Mobile Nodexe2x80x94whether in reply to a message from the Mobile Node of for any other reasonxe2x80x94it addresses that message to the IP address of Mobile Node 6 on sub-network 12. The packets of that message are then forwarded over the internet 4 and to router R1 and ultimately to Home Agent 8 as indicated by the dotted line (xe2x80x9cpacket to MN(1)xe2x80x9d). From its mobility binding table, Home Agent 8 recognizes that Mobile Node 6 is no longer attached to network segment 12. It then encapsulates the packets from corresponding node 18 (which are addressed to Mobile Node 6 on network segment 12) according to a Mobile IP protocol and forwards these encapsulated packets to a care of address for Mobile Node 6 as shown by the dotted line (xe2x80x9cpacket to MN(2)xe2x80x9d). The C.O. address is the IP address of Foreign Agent 10. Foreign Agent 10 then strips the encapsulation and forwards the message to Mobile Node 6 on sub-network 14. The packet forwarding mechanism implemented by the Home and Foreign Agents is often referred to as xe2x80x9ctunneling.xe2x80x9d
FIG. 1B illustrates a significant problem with the Mobile IP system 2. If Home Agent 8 fails or otherwise become inoperative (due to a power failure, rebooting, scheduled maintenance. etc.), Mobile Node 6 is left without the ability to (1) receive new internet messages addressed to it at network segment 12 and (2) register with other Foreign Agents. In effect, Mobile Node 6 is cut-off from internet connection when Home Agent 8 goes down. This problem may extend to other Mobile Nodes supported by Home Agent 8. Often, a given Home Agent will be responsible for servicing numerous Mobile Nodes which may be based at sub-network 12.
As shown in FIG. 1B, when Home Agent 8 fails, not only is network segment 12 disconnected from the internet, but Mobile Nodes at remote locations are also blocked from the registration and packet receipt functions of Mobile IP. In some networks, there may be other routers connecting segment 12 to the internet. Such additional routers would allow fixed hosts on the segment to maintain their internet connections but would not allow remote access to Mobile Nodes. Similarly, if Foreign Agent 10 should fail, all Mobile Nodes visiting sub-network 14 lose connections, even though there may be other routers on that sub-network.
A redundancy protocol known as Hot Standby Router Protocol (xe2x80x9cHSRPxe2x80x9d) is widely used to back up primary routers for a network segment. In HSRP, a xe2x80x9cstandbyxe2x80x9d or xe2x80x9csecondaryxe2x80x9d router is designated as the back-up to an xe2x80x9cactivexe2x80x9d or xe2x80x9cprimaryxe2x80x9d router. The standby router is linked to the network segment or segments serviced by the active router. The active and standby routers share a xe2x80x9cvirtual IP addressxe2x80x9d and possibly a xe2x80x9cvirtual Media Access Control (MAC) address.xe2x80x9d All internet communication to and from the relevant sub-network employs the virtual IP and MAC addresses. At any given time, the active router is the only router adopting the virtual addresses. Then, if the active router should cease operation for any reason, the standby router immediately takes over its load (by adopting the virtual addresses). Further details of HSRP can be found in RFC 2281, xe2x80x9cCisco Hot Standby Router Protocol (HSRP)xe2x80x9d by T. Li, B. Cole, P. Morton, and D. Li and in U.S. Pat. No. 5,473,599 issued to Li and Cole on Dec. 5, 1995. Both of these references are incorporated herein by reference in their entireties and for all purposes.
If Home Agent 8 participated in a hot standby router protocol (together with other routers connected to segment 12), its failure would allow those nodes currently plugged into sub-network 12 to maintain their communications with internet 4. However, its failure would leave Mobile Node 6 stranded on network segment 14. HSRP has no mechanism for handling internet communications via Mobile IP. This is partly due to the fact that in Mobile IP it is not enough to simply have a standby router ready to take over as active router. The Home Agent (active router) must carry-out higher level functions required by Mobile IP such as keeping track of the locations (and associated Foreign Agents) of the various Mobile Nodes for which it is responsible. Similarly, a Foreign Agent must keep track of visiting Mobile Nodes and their associated Home Agents.
One redundancy mechanism for Mobile IP has been proposed. It goes by the acronym HARP which stands for Home Agent Redundancy Protocol. It was presented in an Internet Engineering Task Force memo of Chambless and Binkley entitled xe2x80x9cHome Agent Redundancy Protocolxe2x80x9d and having a URL of ftp://ietf.org/internet-drafts/draft-chambless-mobileip-harp00.txt. This protocol provides for a redundant or xe2x80x9cpeerxe2x80x9d Home Agent which is intended to contain a record of the Mobile Node locations stored in the primary Home Agent. While this proposed protocol does provide a redundancy mechanism for Mobile IP Home Agents, it has certain short comings. Notably, it does not make use of a widely installed redundancy protocol such as HSRP. Therefore, to implement HARP, many enterprises must undertake a rather significant change to its existing network solution. More importantly, HARP is concerned only with Mobile IP. Many other network functions such as Network Address Translation (xe2x80x9cNATxe2x80x9d), IP security, Reflexive Access List, etc. all could profit from router redundancy. However, each of these has its own specific high level requirements (analogous to the mobility binding table required for Mobile IP). HARP cannot be easily extended to these Non-Mobile IP network functions.
For the above reasons, an improved Home Agent redundancy protocol is required for Mobile IP.
The present invention provides a method and apparatus for automatically backing up a Home Agent or a Foreign Agent in Mobile IP. The invention employs important components of the widely-used Hot Standby Router Protocol, but extends it to include synchronization of the mobility binding table (or a visitor table in the case of a foreign agent) between an active Mobility Agent and a standby Mobility Agent that backs up the active Mobility Agent. Note that a xe2x80x9cMobility Agentxe2x80x9d may be either a Home Agent or a Foreign Agent. The invention also provides a more general protocol for extending HSRP and related redundancy protocols to synchronize higher level dynamic functions other than mobility binding lists in Mobile IP (e.g., address translation tables in Network Address Translation (NAT), address bindings in Dynamic Host Configuration Protocol (DHCP) servers, dynamic ACL in Reflexive Access List, and TCP and GTP layer context in GPRS support nodes: SGSN and GGSN). Still other protocols that could benefit from HSRP include Lock and Key, Context-Based Access List, IP Security (IPSec), and H.323 gatekeeper.
One aspect of the invention provides a method of operating a standby Mobility Agent to provide Mobile IP redundancy. The method may be characterized as including the following sequence: (a) determining that an active Mobility Agent, with which the standby Mobility Agent shares a virtual IP address known to a Mobile Node, is no longer acting as a Mobility Agent for the Mobile Node; (b) assuming the role of active Mobility Agent for the shared virtual IP address, thereby handling a registration from the Mobile Node; and (c) sending a list of registrations currently handled by the active Mobility Agent to a new standby Mobility Agent. The standby Mobility Agent may determine that the active Mobility Agent is no longer acting as a Mobility Agent by various mechanisms. In one case, it receives a resign message from the active Mobility Agent. In another case, it determines that no hello message has been received from the active Mobility Agent within a predefined length of time. In yet another case, the standby Mobility Agent preempts the active Mobility Agent when it determines that it has a higher priority than the active Mobility Agent. When it takes over as active Mobility Agent, it adopts the virtual IP address and, preferably, a virtual MAC address as well.
While operating in its standby capacity, the standby Mobility Agent periodically receives registration entries from the active Mobility Agent by UDP, for example. When this occurs, the standby Mobility Agent adds the registration entries to its own mobility binding table (or visitor table), thereby keeping synchronized with the active Mobility Agent. And when the standby Mobility Agent initially assumes that status, it will receive an entire mobility binding table (or visitor table) specifying multiple registration entries from the active Mobility Agent.
In some embodiments, both the active and standby Mobility Agents will be able to tunnel packets or receive tunneled packets (in the case of Foreign Agents). However, the handling of new registrations will generally be left solely to the active Mobility Agent.
Another aspect of the invention provides a method of maintaining Mobile IP redundancy by the operation of an active Mobility Agent. This method may be characterized by the following sequence: (a) registering a Mobile Node; (b) creating a registration entry internally for the Mobile Node; and (c) sending a message (preferably unicast) notifying a standby Mobility Agent of the registration. In its active capacity, the active Mobility Agent periodically sends hello messages to the standby Mobility Agent, thereby notifying the standby Mobility Agent that the active Mobility Agent continues to function as the active Mobility Agent. The active Mobility Agent may also periodically send hello messages to a standby group of routers, each configured to act as an active Mobility Agent, thereby notifying the standby group that the active Mobility Agent continues to function as the active Mobility Agent. Still further, the active Home Agent may send a resign message to the standby Mobility Agent before resigning the post of active Mobility Agent.
The active Mobility Agent may also receive a request from the standby Mobility Agent to dump an entire mobility binding table (or visitor table) containing multiple registration entries from the active Mobility Agent to the standby Mobility Agent. When this occurs, the active Mobility Agent complies by dumping its mobility binding table (or visitor table) to the standby Mobility Agent, preferably via UDP.
Another aspect of the invention provides a network device (e.g., a router) which implements a generic method of providing redundancy for a network segment. The method synchronizes a dynamic function between an active and a standby device. It may be characterized by the following sequence: (a) assuming the status of standby router to backup an active router, with which the standby router shares a virtual IP address known to a host based at the network segment; (b) determining that the active router is no longer acting as an active router for the host; (c) assuming the role of active router for the shared virtual IP address, thereby handling packet exchange tasks for the host; and (d) apprising a new standby router of an entry to a dynamic list specifying the status of one or more hosts based at the network segment. Preferably, the updating is performed via UDP. Depending upon the function being backed up, the dynamic list may specify various items pertaining to the network status. For example, it may specify a registration for a Mobile IP Mobile Node, an address translation for a network node employing Network Address Translation, etc.
Still another aspect of the invention provides a router supporting Mobile IP. The router may be characterized as including the following features: (a) a memory; (b) a processor coupled to the memory; (c) one or more interfaces for sending and receiving data packets on a network. In this router, the memory and the processor are adapted to provide (a) a primary router address and (b) a group virtual address which is adopted by the router when it becomes the active Mobility Agent of the network segment, and wherein the memory and the processor are adapted to (c) send registration updates to a standby Mobility Agent from among the plurality of routers. The memory and processor are further adapted to assume a status of standby Mobility Agent for backing up the active Mobility Agent. Preferably the router also includes a priority specifying the router""s relative likelihood of becoming the active Mobility Agent in comparison to other routers in the network segment.
These and other advantages of the present invention will become apparent to those skilled in the art upon a reading of the following descriptions of the invention in conjunction with the figures.